#include <stdio.h>




// //小乐乐改数字
// //对于一个数字的每一位 若其为偶数则将其改为0，若其为奇数则改为1
// //如 222222改为0
// #include <math.h>
// int main()
// {
//     int n = 0;
//     printf("请输入一个整数n\n");
//     scanf("%d",&n);
//     int ret = 0;
//     int i = 0;
//     while(n)
//     {
//         ret += ((n%10)%2) * pow(10,i);
//         i++;
//         n /= 10;
//     }
//     printf("%d\n",ret);
//     return 0;
// }




// //带空格直角三角形
// //输入数字n作为直角三角形边长，输出带空格的直角三角形
// //如输入3 则输入
// //    *
// //  * *
// //* * *
// int main()
// {
//     int n = 0;
//     int i = 0;
//     int j = 0;
//     while(scanf("%d",&n) == 1)
//     {
//         for(i = 0;i< n;i++)
//         {
//             // for(j = 0;j < n - 1;j++)
//             // {
//             //     if(j <= n - i - 2)
//             //     {
//             //         printf(" ");
//             //     }
//             //     else
//             //     {
//             //         printf("*");
//             //     }
//             //     printf(" ");
//             // }
//             // printf("*\n");

//             //pg对角线思想 看到三角形要注意找这个规律
//             for(j = 0;j < n;j++)
//             {
//                 if(i + j < n - 1)
//                 {
//                     printf("  ");
//                 }
//                 else
//                     printf("* ");
//             }
//             printf("\n");
//         }
//     }
//     return 0;
// }




// //找凶手
// //四个嫌疑犯 四句供词 有一个人说的是假话 找出凶手
// //a说 不是我
// // b说 是c
// // c说 是d
// // d说 c说的是假话
// int main()
// {
//     int killer = 0;
//     for(killer = 'a';killer <= 'd';killer++)
//     {
//         if((killer!='a')+(killer == 'c')+(killer=='d')+(killer != 'd') == 3)
//         printf("%c",killer);
//     }
//     return 0;
// }




// //打印杨辉三角
// // 1 
// // 1 1
// // 1 2 1
// // 1 3 3 1
// // 1 4 6 4 1
// // 1 5 10 10 5 1
// int main()
// {
//     int a[10][10] = { 0 };
//     int i = 0;
//     int j = 0;
//     for(i = 0;i < 10;i++)
//     {
//         // for(j = 0;j < 10;j++)
//         // {
//         //     if(j > i)
//         //         printf("  ");
//         for(j = 0;j <= i;j++)//也可以将上三行省略，直接跳过j>i的情况
//         {  
//             if(j == 0 || j == i)
//             {
//                 a[i][j] = 1;
//                 printf("%d ",a[i][j]);
//             }
//             else
//             {
//                 a[i][j] = a[i-1][j]+a[i-1][j-1];
//                 printf("%d ",a[i][j]);
//             }
//         }
//         printf("\n");
//     }
//     return 0;
// }






//实现一个函数 可以左旋字符串中的k个字符
#include <string.h>

//方法1 每次左旋一个字符串
// void left_rotate(char* str,int k)
// {
//     //思路有误 数组越界！！！
//     // char temp[k];
//     // int i = 0;
//     // for(i = 0;i < k;i++)
//     // {
//     //     temp[i] = str[i];
//     // }
//     // int sz = sizeof(str)/sizeof(char);
//     // str = str + k;
//     // for(i = 0;i < k;i++)
//     // {
//     //     str[sz - k + i] = temp[i];
//     // }
//     // str[sz] = '\0';
//     // return str;


//     //鹏哥思路 只需额外创建一个char类型变量 每次过程实现一个字符的左旋
//     //过程重复几次就能实现几个字符的左旋 天才！
//     int i = 0;
//     int j = 0;
//     int len = strlen(str);
//     for(i = 0;i < k;i++)
//     {
//         char temp = str[0];
//         for(j = 0;j < len - 1;j++)
//         {
//             str[j] = str[j+1];
//         }
//         str[len-1] = temp;
//     }
// }

// //方法2
// //前k个字符和后n—k个字符分别单独逆序，字符串再整体逆序
// void my_reverse(char* left,char* right)
// {
//     char temp = 0;
//     while(left<right)
//     {
//         temp = *left;
//         *left = *right;
//         *right = temp;
//         left++;
//         right--;
//     }
// }
// void left_rotate(char* str,int k)
// {
//     int len = strlen(str);
//     k %= len;
//     my_reverse(str,str+k-1);
//     my_reverse(str+k,str+len-1);
//     my_reverse(str,str+len-1);
// }


// int main()
// {
//     char arr[] = "abcdefg";
//     int k = 0;
//     scanf("%d",&k);
//     left_rotate(arr,k);
//     printf("%s\n",arr);
//     return 0;
// }




//杨氏矩阵
//有一个数字矩阵 每行从左到右是递增的，矩阵从上到下是递增的，
//请编写程序在这样的矩阵中查找某个数字是否存在； 
//要求时间复杂度小于O(N)；
//如 
//1 2 3
//4 5 6 
//7 8 9 
// int find_number(int arr[3][3],int r,int c,int n)
// {
//     int x = 0;
//     int y = c-1;
//     while(x < c && y >=0)
//     {
//         if(n < arr[x][y])
//         {
//             y--;
//         }
//         else if(n > arr[x][y])
//         {
//             x++;
//         }
//         else
//         {
//             return 1;
//         }
//     }
//     return 0;
// }
// int main()
// {
//     int arr[3][3] = {1,2,3,4,5,6,7,8,9};
//     int n = 0;
//     scanf("%d",&n);
//     int ret = find_number(arr,3,3,n);
//     if(ret == 1)
//         printf("找到了");
//     else    
//         printf("找不到");
//     return 0;
// }


//若要带回坐标位置 有两种方法


// //方法1 定义结构体
// struct Pointer
// {
//     int x;
//     int y;
// };
// struct Pointer find_number(int arr[3][3],int r,int c,int n)
// {
//     int x = 0;
//     int y = c-1;
//     struct Pointer p = {-1,-1};
//     while(x < c && y >=0)
//     {
//         if(n < arr[x][y])
//         {
//             y--;
//         }
//         else if(n > arr[x][y])
//         {
//             x++;
//         }
//         else
//         {
//             p.x = x;
//             p.y = y;
//             return p;
//         }
//     }
//     return p;
// }
// int main()
// {
//     int arr[3][3] = {1,2,3,4,5,6,7,8,9};
//     int n = 0;
//     scanf("%d",&n);
//     struct Pointer ret = find_number(arr,3,3,n);
//     printf("%d %d\n",ret.x,ret.y);
//     return 0;
// }


// //方法二 返回型参数
// int find_number(int arr[3][3],int* px,int* py,int n)
// {
//     int x = 0;
//     int y = *py-1;
//     while(x < *px && y >=0)
//     {
//         if(n < arr[x][y])
//         {
//             y--;
//         }
//         else if(n > arr[x][y])
//         {
//             x++;
//         }
//         else
//         {
//             *px = x;
//             *py = y;
//             return 1;
//         }
//     }
//     return 0;
// }
// int main()
// {
//     int arr[3][3] = {1,2,3,4,5,6,7,8,9};
//     int n = 0;
//     scanf("%d",&n);
//     int a = 3;
//     int b = 3;
//     int ret = find_number(arr,&a,&b,n);
//     if(ret == 1)
//         printf("找到了,坐标为%d %d",a,b);
//     else    
//         printf("找不到");
//     return 0;
// }




//写一个函数 判断一个字符串是否是由另一个字符串旋转得来
//左旋 如abcde左旋一个字符 bcdea
//右旋 如abcde右旋两个字符 edabc
#include <string.h>
#include <assert.h>

//自己想的穷举法
// void left_rotate(char* str)
// {
//     int sz = strlen(str);
//     char temp = *str;
//     int i = 0;
//     for(i = 0;i < sz - 1;i++)
//     {
//         str[i] = str[i+1];
//     }
//     str[sz-1] = temp;
// }
// void right_rotate(char* str)
// {
//     int sz = strlen(str);
//     char temp = str[sz-1];
//     int i = 0;
//     for(i = sz - 1;i >= 1;i--)
//     {
//         str[i] = str[i-1];
//     }
//     str[0] = temp;
// }
// int is_rotate(char* s1,char* s2)
// {
//     assert(s1 && s2);
//     if(strlen(s1) != strlen(s2))
//     {
//         return 0;
//     }
//     int len = strlen(s1);
//     int i = 0;
//     for(i = 0;i < len ;i++)
//     {
//         if(strcmp(s1,s2) == 0)
//         {
//             return 1;
//         }
//         left_rotate(s1);
//     }
//     for(i = 0;i < len ;i++)
//     {
//         if(strcmp(s1,s2) == 0)
//         {
//             return 1;
//         }
//         right_rotate(s1);
//     }
//     return 0;
// }
// int main()
// {
//     char s1[] = "AABCD";
//     char s2[] = "BCDAA";
//     int ret = is_rotate(s1,s2);
//     printf("%d\n",ret);
//     return 0;
// }



// //使用库函数
// //思路 在str后面追加一个str 
// //则所有左旋的结果都存在于此字符串中
// //如  abcdefabcdef
// //       defab  
// int is_rotate(char* s1,char* s2)
// {
//     assert(s1 && s2);
//     if(strlen(s1) != strlen(s2))
//     {
//         return 0;
//     }
//     int len = strlen(s1);
//     strncat(s1,s1,len);
//     char* ret = strstr(s1,s2);
//     if(ret == NULL)
//         return 0;
//     else
//         return 1;
// }
// int main()
// {
//     char s1[] = "AABCD";
//     char s2[] = "BCDAA";
//     int ret = is_rotate(s1,s2);
//     printf("%d\n",ret);
//     return 0;
// }



// //矩阵转置
// //输入n和m 代表矩阵的行数和列数 
// //输入n行共n*m个数字 ，按m行n列的格式输出
// int main()
// {
//     int n = 0;
//     int m = 0;
//     scanf("%d %d",&n,&m);
//     int arr[n][m];
//     int i = 0;
//     int j = 0;
//     for(i = 0;i < n;i++)
//     {
//         for(j = 0;j < m;j++)
//         {
//             scanf("%d",&arr[i][j]);
//         }
//     }
//     for(j = 0;j < m;j++)
//     {
//         for(i = 0;i < n;i++)
//         {
//             printf("%d ",arr[i][j]);
//         }
//         printf("\n");
//     }
//     return 0;
// }





// //输入n*n的矩阵 判断它是否是上三角形矩阵
// //上三角形矩阵 主对角线以下的元素均为0
// //如下矩阵即是上三角形矩阵
// // 1 2 3
// // 0 4 5
// // 0 0 6
// int main()
// {
//     int n = 0;
//     scanf("%d",&n);
//     int arr[n][n];
//     int i = 0;
//     int j = 0;
//     for(i = 0;i < n;i++)
//     {
//         for(j = 0;j < n;j++)
//         {
//             scanf("%d",&arr[i][j]);
//         }
//     }
//     // for(i = 0;i < n;i++)
//     // {
//     //     for(j = 0;j < n;j++)
//     //     {
//     //         if((j >= i && arr[i][j] == 0)||(j < i && arr[i][j] != 0))
//     //         {
//     //             printf("NO\n");
//     //             return 0;
//     //         }
//     //     }
//     // }
//     // printf("YES\n");


//     //其实不用关注主对角线及以上的元素
//     //只需要满足对角线以下全为0即可
//     //鹏哥写法
//     int flag = 1;//默认为上三角矩阵
//     for(i = 0;i < n;i++)
//     {
//         for(j = 1;j < i;j++)//只需要判断i>j的时候
//         //也可以将i>j时
//         {
//             if(arr[i][j] != 0)
//             {
//                 flag = 0;
//                 goto end;
//             }
//         }
//     }
//     end:
//         if(flag == 1)
//             printf("YES\n");
//         else
//             printf("NO\n");    
//     return 0;
// }





//输入数字n及n个数字序列 判断这个数字序列是否为有序序列
//升序、降序都可（相同数字也视为有序）
// int main()
// {
//     int n = 0;
//     scanf("%d",&n);
//     int arr[n];
//     int i = 0;
//     for(i = 0;i < n;i++)
//     {
//         scanf("%d",&arr[i]);
//     }
//     int flag = 1;
//     for(i = 0;i < n -1;i++)
//     {
//         if(arr[0] > arr[1])
//         {
//             if(arr[i] < arr[i+1])
//             {
//                 flag = 0;
//                 break;
//             }
//         }
//         else if(arr[0] < arr[1])
//         {
//             if(arr[i] > arr[i+1])
//             {
//                 flag = 0;
//                 break;
//             }
//         }
//         else
//         {
//             if(arr[i] != arr[i+1])
//             {
//                 flag = 0;
//                 break;
//             }
//         }
//     }
//     if(flag == 1)
//         printf("sorted\n");
//     else
//         printf("unsorted\n");
//     return 0;
// }

//鹏哥写法 边输入边判断 
//设置两个flag
int main()
{
    int n = 0;
    scanf("%d",&n);
    int arr[n];
    int i = 0;
    int flag1 = 0;//如果有升序的 将flag1置为1
    int flag2 = 0;//如果有降序的 将flag2置为1
    for(i = 0;i < n - 1;i++)
    {
        scanf("%d",&arr[i]);
        if(arr[i] > arr[i+1])
        {
            flag2 = 1;
        }
        else if(arr[i] <arr[i+1])
        {
            flag1 = 0;
        }
    }
    if(flag1 + flag2 <= 1)//二者同为1 代表既有升序又有降序 不合题意
        printf("sorted\n");
    else
        printf("unsorted\n");
    return 0;
}